Virtual Separation of Concerns - A Second Chance for Preprocessors
نویسندگان
چکیده
Conditional compilation with preprocessors like cpp is a simple but effective means to implement variability. By annotating code fragments with #ifdef and #endif directives, different program variants with or without these fragments can be created, which can be used (among others) to implement software product lines. Although, preprocessors are frequently used in practice, they are often criticized for their negative effect on code quality and maintainability. In contrast to modularized implementations, for example using components or aspects, preprocessors neglect separation of concerns, are prone to introduce subtle errors, can entirely obfuscate the source code, and limit reuse. Our aim is to rehabilitate the preprocessor by showing how simple tool support can address these problems and emulate some benefits of modularized implementations. At the same time we emphasize unique benefits of preprocessors, like simplicity and language independence. Although we do not have a definitive answer on how to implement variability, we want highlight opportunities to improve preprocessors and encourage research toward novel preprocessor-based approaches.
منابع مشابه
Virtual separation of concerns: toward preprocessors 2.0
Conditional compilation with preprocessors like cpp is a simple but effective means to implement variability. By annotating code fragments with #ifdef and #endif directives, different program variants with or without these fragments can be created, which can be used (among others) to implement software product lines. Although, preprocessors are frequently used in practice, they are often critic...
متن کاملتولید محتوای استاندارد در آموزش مجازی، یک نیاز ضروری
A new world of distance education demands new thinking. Key components to complete the distance educational system require that institutions determine how the process is designed, delivered, integrated and supported. To have a better chance to develop online education in Iran, the academic staff should mention a lot of punctual notes in order to prepare the material which is going to be pub...
متن کاملUsing Separation and Composition of Concerns to Build Multiuser Virtual Environments
Developing Multiuser Virtual Environments (MUVE) is a very complex task since it involves several engineering domains aspects such as, Virtual Reality, Cooperative Work and Distributed Systems. Furthermore, existing technologies like, graphics capabilities, processing power and network bandwidth, are permanently evolving. For MUVE systems to be successfully developed they must not only deal wit...
متن کاملFeature-Oriented Software Development A Short Tutorial on Feature-Oriented Programming, Virtual Separation of Concerns, and Variability-Aware Analysis
Feature-oriented software development is a paradigm for the construction, customization, and synthesis of large-scale and variable software systems, focusing on structure, reuse and variation. In this tutorial, we provide a gentle introduction to software product lines, feature oriented programming, virtual separation of concerns, and variabilityaware analysis. We provide an overview, show conn...
متن کاملA Trusted Computing Base for Embedded Systems
The structure of many secure systems has been based on the idea of a security kernel—an operating system nucleus that performs all trusted functions. The difficulty with this approach is that the security kernel tends to be rather large, complex, and unstructured. This paper proposes an alternative structure for secure embedded systems. The structure comprises three layers. At the bottom is a D...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Journal of Object Technology
دوره 8 شماره
صفحات -
تاریخ انتشار 2009